#include<bits/stdc++.h>
using namespace std;
const int N=8010;
int n,q;
struct node{
	int num,sum,now;
}a[N];
int b[N];
int c[N];
void get()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=i;j>=2;j--)
		{
			if(a[j].sum<a[j-1].sum)
			{
				swap(a[j].sum,a[j-1].sum);
				swap(a[j].now,a[j-1].now);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		a[i].sum=b[i];
	}
}
int main()
{
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
	cin>>n>>q;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].sum;
		b[i]=a[i].sum;
		a[i].num=a[i].now=i;
		c[i]=a[i].now;
	}
	bool flag=false;
	get();
	for(int i=1;i<=q;i++)
	{
		int op;
		cin>>op;
		if(op==1)
		{
			int k,v;
			cin>>k>>v;
			a[k].sum=v;
			b[k]=v;
			flag=true;
		}
		else 
		{
			int x;
			cin>>x;
			if(flag==false)
			{
				for(int j=1;j<=n;j++)
				{
					if(a[j].now==x)
					{
						cout<<a[j].num<<endl;
						break;
					}
				}
			}
			else 
			{
				for(int i=1;i<=n;i++)
				{
					a[i].now=c[i];
				}
				get();
				flag=false;
				for(int j=1;j<=n;j++)
				{
					if(a[j].now==x)
					{
						cout<<a[j].num<<endl;
						break;
					}
				}
				
			}
		}
	}
	return 0;
}
